package entity

import (
	"time"
)

type SysLog struct {
	Id             int64      `gorm:"column:id;primary_key;AUTO_INCREMENT;NOT NULL;comment:'主键ID'" tag:"id" json:"id,omitempty"`
	Operation      *string    `gorm:"column:operation;default:NULL;comment:'接口名称'" tag:"operation" json:"operation,omitempty"`
	RequestParam   string     `gorm:"column:request_param;comment:'请求参数'" tag:"request_param" json:"requestParam,omitempty"`
	ResponseJson   *string    `gorm:"column:response_json" tag:"response_json" json:"responseJson,omitempty"`
	RequestIp      string     `gorm:"column:request_ip;default:NULL;comment:'来源IP'" tag:"request_ip" json:"requestIp,omitempty"`
	RequestAddress string     `gorm:"column:request_address;default:NULL;comment:'来源地址'" tag:"request_address" json:"requestAddress,omitempty"`
	Username       *string    `gorm:"column:username;default:NULL;comment:'用户名'" tag:"username" json:"username,omitempty"`
	RestUrl        *string    `gorm:"column:rest_url;default:NULL;comment:'访问接口'" tag:"rest_url" json:"restUrl,omitempty"`
	Result         string     `gorm:"column:result;comment:'接口返回消息'" tag:"result" json:"result,omitempty"`
	Os             *string    `gorm:"column:os;default:NULL;comment:'客户端操作系统'" tag:"os" json:"os,omitempty"`
	Method         string     `gorm:"column:method;default:NULL;comment:'请求方法'" tag:"method" json:"method,omitempty"`
	Browser        *string    `gorm:"column:browser;default:NULL;comment:'客户端浏览器'" tag:"browser" json:"browser,omitempty"`
	CreateTime     *time.Time `gorm:"column:create_time;default:NULL;comment:'创建时间'" tag:"create_time" json:"createTime,omitempty"`
	UpdateTime     *time.Time `gorm:"column:update_time;default:NULL;comment:'修改时间'" tag:"update_time" json:"updateTime,omitempty"`
}

func (s *SysLog) TableName() string {
	return "sys_log"
}
